Powerful multimedia capable computers which are able to store and process large multimedia files, and other large files continue to proliferate. Combined with the continued development of the Internet infrastructure, there has been a trend toward transporting a greater number and larger files over the Internet. This trend has been fostered by the deployment of higher bandwidth data links in the Internet infrastructure including fiber optic cable, and DSL lines.
Nonetheless certain bottle necks in the communication infrastructure remain. For example typically intranets on Local Area Networks (LANS) are connected to the Internet through a firewall/proxy server computer, which serves to screen and/or block traffic between the intranet and the Internet for security purposes. Such firewall/proxy server computers become bottlenecks for traffic between the intranet and the Internet.
It is often the case that a home or small business user is connected to the Internet through a dial-up modem connecting to a dial-up server of an Internet Service Provider (ISP). The dial-up connection is relatively slow compared to links between the dial-up server and other Internet hosts or routers.
Regardless of the capacity of the data pathway available to a client computer, the data pathway may be overloaded if one or more clients initiate a large number of downloads and/or large downloads.
Server overloading will also cause a delay in executing downloads. If a server download request queue is full, the time required to complete a download will be extended. High demand for downloads during peak, e.g., business, hours will decrease server response time.
Additionally, if the client computers resources, as measured for example, by the processor utilization percentage, are heavily loaded, the download will take longer. Increased download time is due to the unavailability of the processor for servicing the communication process.
Certain downloaded files are desired for immediate use. For others delayed delivery is perfectly acceptable to the user. In fact, times, such as, non work hours, when the client processor utilization, the server load, and communication system load are low are preferred for executing bandwidth intensive downloads.
What is needed is a system to overcome the problems of long download times and which automatically selects an optimum time to perform downloading.
What is further needed is a system by which a user may specify a window of time including an ending time by which a download needs to be performed. A system which selects an optimum time within the specified window for performing the download according to availability of client, server, and communication resources is also needed.